import Vue from 'vue'
import Router from 'vue-router'
import Home from '../components/home'
import Login from '../components/login'
import Register from '../components/register'
Vue.use(Router)
const routes = [
  {
      path : "/home",
      name : 'Home',
      component: Home,
      meta: {
        requireAuth: true,// 添加该字段，表示进入这个路由是需要登录的
        roles: ['superadmin','admin','user']//表示该路由superadmin、admin、user 三种角色都可以访问
    }
      
    },{
      path : "/login",
      name : 'Login',
     component: Login,
     requireAuth: true,// 添加该字段，表示进入这个路由是需要登录的
    },{
      path : "/register",
      name : 'Register',
      component: Register,
      requireAuth: true,// 添加该字段，表示进入这个路由是需要登录的
    }
]
const router = new Router({
  routes,
  mode: 'history'
})

router.beforeEach((to, from, next) => {
  if (to.meta.requireAuth) {  // 判断该路由是否需要登录权限
    let token = sessionStorage.getItem('token');
        if (token) {  // 通过vuex state获取当前的token是否存在
            next();
        } else {// 说明没有登陆，则重定向到登陆页
          debugger
            next({
                path: '/login',
                query: {redirect: to.fullPath}  // 将跳转的路由path作为参数，登录成功后跳转到该路由
            })
        }
    }
    else {
        next();
    }
});
export default router


